// pages/message/message.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        noticeText:'',//通知文本
        showNotice:false,//控制通知弹层显示/隐藏
        scrollTop:30000,//滚动条距离 滚动开始位置的距离
        inputText:'',//保存输入框的文本
        msgList:[]//存所有的消息
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },
    inputTextChange:function(e){
        console.log(e.detail.value)
        this.setData({
            inputText:  e.detail.value
        })
    },

    sendMsg:function(){
        //发送消息
        wx.sendSocketMessage({
            data: this.data.inputText
        });
        
        //清空输入框
        this.setData({
            inputText:''
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
        //连接websocket服务器
        wx.connectSocket({
            url: 'wss://yantianfeng.com:2000',
            success:()=>{
                console.log("websocket连接成功!");
            }
        });

        //监听websocket消息
        wx.onSocketMessage((res)=>{
            console.log(JSON.parse(res.data));
            var msg = JSON.parse(res.data);

            //判断,只有用户消息,才放入消息列表
            if( msg.type === 'text'  )
            {
                this.setData({
                    scrollTop: this.data.scrollTop + 1000,
                    msgList: [...this.data.msgList, msg]
                })
            }
            else//通知消息
            {
                //让通知弹层显示
                this.setData({
                    noticeText: msg.message,
                    showNotice: true
                });
                //定时2s后隐藏 弹层
                setTimeout(()=>{
                    this.setData({
                        showNotice: false
                    });
                },2000)
            }
        });

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})